অ্যাপাচি অ্যাকটিভএমকিউ একটি মেসেজ ব্রোকার, যা বিভিন্ন অ্যাপ্লিকেশন বা সিস্টেমের মধ্যে তথ্য বা মেসেজ আদান-প্রদান করতে ব্যবহৃত হয়। এই প্রক্রিয়াতে Message Producers এবং Message Consumers গুরুত্বপূর্ণ ভূমিকা পালন করে। এই দুটি উপাদান একে অপরের সঙ্গে কাজ করে মেসেজিং সিস্টেমে তথ্য প্রেরণ এবং গ্রহণের কাজ সম্পন্ন করে।
Message Producer হলো সেই কম্পোনেন্ট বা অ্যাপ্লিকেশন যা মেসেজ তৈরি করে এবং অ্যাকটিভএমকিউ ব্রোকারে পাঠায়। এই প্রক্রিয়া সাধারণত মেসেজ কিউ (Queue) বা টপিক (Topic) ব্যবহার করে সম্পন্ন হয়। একটি প্রোডিউসার কিউ বা টপিকে মেসেজ প্রেরণ করতে পারে এবং এভাবে ডাটা এক অ্যাপ্লিকেশন থেকে অন্য অ্যাপ্লিকেশনে প্রেরিত হয়।
import javax.jms.*;
public class MessageProducerExample {
public static void main(String[] args) throws JMSException {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("TEST_QUEUE");
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage("Hello, ActiveMQ!");
producer.send(message);
System.out.println("Message sent: " + message.getText());
connection.close();
}
}
উপরের উদাহরণে, প্রোডিউসার একটি টেক্সট মেসেজ তৈরি করে এবং সেটি কিউ "TEST_QUEUE"-এ পাঠাচ্ছে।
Message Consumer হলো সেই কম্পোনেন্ট বা অ্যাপ্লিকেশন যা মেসেজ গ্রহণ করে এবং প্রক্রিয়া করে। একটি কিউ বা টপিক থেকে মেসেজ সংগ্রহ করার পর, কনজিউমার সেই মেসেজের সাথে সম্পর্কিত কোনো নির্দিষ্ট কাজ সম্পন্ন করে। কনজিউমারের মূল উদ্দেশ্য হলো প্রোডিউসারের পাঠানো মেসেজ গ্রহণ এবং প্রক্রিয়াকরণ করা।
import javax.jms.*;
public class MessageConsumerExample {
public static void main(String[] args) throws JMSException {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("TEST_QUEUE");
MessageConsumer consumer = session.createConsumer(destination);
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Message received: " + textMessage.getText());
}
connection.close();
}
}
উপরের উদাহরণে, কনজিউমার "TEST_QUEUE" থেকে মেসেজ গ্রহণ করে এবং সেটি প্রক্রিয়া করে।
Producers এবং Consumers একসঙ্গে কাজ করে মেসেজিং সিস্টেমের কার্যকারিতা নিশ্চিত করতে। প্রোডিউসার যখন মেসেজ পাঠায়, তখন কনজিউমার সেই মেসেজ গ্রহণ করে এবং প্রক্রিয়া করে।
অ্যাপাচি অ্যাকটিভএমকিউ মেসেজিং সিস্টেমে Message Producers এবং Message Consumers দুটি গুরুত্বপূর্ণ উপাদান। প্রোডিউসার মেসেজ তৈরি করে এবং এটি অ্যাকটিভএমকিউ ব্রোকারে পাঠায়, যেখানে কনজিউমার সেই মেসেজ গ্রহণ করে এবং প্রক্রিয়া করে। এই প্রক্রিয়া অ্যাসিঙ্ক্রোনাসভাবে কার্যকরী হতে পারে, যার মাধ্যমে এক অ্যাপ্লিকেশন থেকে অন্য অ্যাপ্লিকেশনে দ্রুত এবং কার্যকরী তথ্য আদান-প্রদান নিশ্চিত হয়।
common.read_more